package com.java.zhuiyun.api.memberShip_records.service;

import com.java.zhuiyun.api.alipay.controller.AliPay;
import com.java.zhuiyun.api.memberShip_records.entity.UserMemberShip;
import com.java.zhuiyun.api.memberShip_records.model.EchartsMemberModels;
import com.java.zhuiyun.api.memberShip_records.model.MemberShipModel;
import com.java.zhuiyun.common.response.CommonResult;
import com.java.zhuiyun.util.pageUtil.PageRequest;

import java.util.List;

/**
 * @InterfaceName MemberShipService
 * @Description TODO 会员记录业务逻辑层接口
 * @Author WX
 * @Date 2023/8/18 8:52
 **/
public interface MemberShipService {

    /*
     * @Author WX
     * @Description 生成订单
     * @Date 2023/8/18 9:01
     * @Return
     * @param UserMemberShip
     */
    String generateOrder(UserMemberShip userMemberShip);

    /*
     * @Author WX
     * @Description 查询个人会员购买记录
     * @Date 2023/8/18 13:57
     * @Return
     * @param id
     */
    List<MemberShipModel> personInfoQuery(Integer id);

    /*
     * @Author WX
     * @Description 订单支付
     * @Date 2023/8/18 13:57
     * @Return
     * @param id
     */
    int updateById(AliPay aliPay);

    /*
     * @Author WX
     * @Description 查询所有会员记录
     * @Date 2023/8/28 11:23
     * @Return
     * @param null
     */
    CommonResult selectMemberShip(PageRequest pageRequest);

    /*
    * @Author WX
    * @Description 查询本月会员购买记录
    * @Date 2023/9/6 14:45
    * @Return
    * @param null
    */
    List<EchartsMemberModels> getMembers();

    /*
     * @Author WX
     * @Description 获取每年的课程和会员金额
     * @Date 2023/9/7 16:25
     * @Return
     * @param null
     */
    CommonResult getOrdersMembersmonth(String selectedYear);

    CommonResult getMemberMonth(String selectedYear);

}
